#!/bin/bash

set -eo pipefail

new_version="$1"
spec_dirs=(oracle opensuse fedora)

spec_files() {
  for d in "${spec_dirs[@]}"; do
    ls "$d"/*.spec
  done
}

bump_version() {
  sed -i "s/^Version:.\+/Version:        $new_version/" "$1"
}

detect_release_version() {
  release_version=$(sed -ne 's/^Release:\s\+//p' "$1" | sed -e 's/%.\+$//')
}

bump_changelog() {
  detect_release_version "$1"

  local date=$(date +'%a %b %d %Y')
  local changelog_version="$new_version-$release_version"
  local new_changelog_entry="* $date KasmTech <info@kasmweb.com> - $changelog_version\n- Upstream release"

  sed -i -e "s/%changelog/%changelog\n$new_changelog_entry/" "$1"
}

for spec_file in $(spec_files); do
  bump_version $spec_file
  bump_changelog $spec_file
done
